-
Notifications
You must be signed in to change notification settings - Fork 378
refactor: reorganize GitHub workflows with consistent naming convention #5891
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
This might break a lot of other things like branch protection rules |
These probably aren't the names I would have gone with, but this was my idea to make the actions a little more organized and make it easier to find related workflows. The branch protection rules would almost definitely need to be updated, GitHub isn't great about noticing changes like that. |
Should be fine as long as we update BP when merging. I think there's some other things like documentation, claude commands, and the PyPi and NPM auth stuff. |
- Implement systematic naming convention using category prefixes - Group workflows logically: ci-, pr-, release-, types-, i18n- - Rename all 22 workflows for better organization and discoverability - Update workflow cross-references and display names - Add comprehensive README.md with naming guidelines and best practices Key changes: - CI workflows: ci-tests-e2e, ci-tests-unit, ci-tests-storybook, etc. - PR automation: pr-backport, pr-claude-review, pr-playwright-snapshots - Release management: release-version-bump, release-npm-types, etc. - Type generation: types-registry-api, types-manager-api, etc. - Internationalization: i18n-update-core, i18n-update-nodes, etc. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
7d2dbd4
to
b578a42
Compare
🎨 Storybook Build Status✅ Build completed successfully! ⏰ Completed at: 10/08/2025, 08:27:45 AM UTC 🔗 Links🎉 Your Storybook is ready for review! |
🎭 Playwright Test Results⏰ Completed at: 10/08/2025, 08:37:49 AM UTC 📈 Summary
📊 Test Reports by Browser
🎉 Click on the links above to view detailed test results for each browser configuration. |
We are lucky! I renamed/moved only Workflow file and its names, and keep all job-names as original so nothing was breaking! You can see "All checks have passed" in this PR. *branch protection rules matches only job-names *just rebased btw @DrJKL feel free to add commits to this branch for names you want :D |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking really nice 😀
@@ -1,4 +1,4 @@ | |||
name: Validate JSON |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think @benceruleanlu's idea here was that the root workflow name would 1:1 correspond with the filename, so this would be CI: JSON Validation
(Though I wouldn't mind knowing what JSON was being validated for what reason...)
@@ -1,8 +1,10 @@ | |||
name: PR Playwright Deploy (Forks) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think for the Playwright ones I'd like to keep either Playwright or Browser in the Action name somewhere. Maybe CI: Tests - Browser
and CI: Tests - Browser - Forks
?
Then it'd align well with CI: Tests - Unit
|--------|----------|---------|---------| | ||
| `ci-` | Continuous Integration | Testing, linting, validation workflows | `ci-tests-e2e.yaml` | | ||
| `release-` | Release Management | Version bumps, release branches, release drafts | `release-version-bump.yaml` | | ||
| `pr-` | PR Automation | PR-specific workflows triggered by labels | `pr-claude-review.yaml` | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| `pr-` | PR Automation | PR-specific workflows triggered by labels | `pr-claude-review.yaml` | | |
| `ci-` | Continuous Integration | Testing, linting, validation workflows | `ci-tests-e2e.yaml` | | |
| `release-` | Release Management | Version bumps, release branches, release drafts | `release-version-bump.yaml` | | |
| `pr-` | PR Automation | PR-specific workflows triggered by labels or comments | `pr-claude-review.yaml` | |
### Test Workflows (`ci-tests-*`) | ||
- `ci-tests-e2e.yaml` - End-to-end testing with Playwright | ||
- `ci-tests-unit.yaml` - Unit and component testing with Vitest | ||
- `ci-tests-storybook.yaml` - Storybook build and visual regression testing | ||
- `ci-tests-*-forks.yaml` - Fork-safe deployment workflows (deploy results without exposing secrets) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This kind of documentation can get out of date really quickly.
Can we put comments into the workflows themselves, then have a single e.g.
here?
- `ci-tests-*-forks.yaml` - Fork-safe deployment workflows (deploy results without exposing secrets) | ||
|
||
### PR Label Workflows (`pr-*`) | ||
These workflows are triggered when specific labels are added to PRs: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This would be a good place to link to GitHub's documentation.
| `pr-backport.yaml` | `needs-backport` | Cherry-pick PRs to release branches | | ||
| `pr-claude-review.yaml` | `claude-review` | AI-powered code review | | ||
| `pr-playwright-snapshots.yaml` | `New Browser Test Expectations` | Update visual test snapshots | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It'd be really cool if we had a way to
- standardize the triggering
- extract the label and description from the workflow
- Keep the doc updated
Not now, but in a wonderful sci-fi future
- **Desktop branches**: `desktop/**` | ||
- **WIP exclusion**: `!**wip/**`, `!wip/**` | ||
|
||
## Best Practices |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this will be good for the robots 🤖
Summary
This PR implements a systematic naming convention for all GitHub workflows to improve organization and discoverability. All 22 workflows have been renamed and grouped by logical categories with consistent prefixes.
Changes
Naming Convention
ci-*
: Continuous Integration workflows (testing, linting, validation)pr-*
: PR-specific automation triggered by labelsrelease-*
: Release management workflowstypes-*
: TypeScript type generation workflowsi18n-*
: Internationalization workflowsKey Renames
tests-ci.yaml
→ci-tests-e2e.yaml
vitest-tests.yaml
→ci-tests-unit.yaml
storybook-and-chromatic-ci.yaml
→ci-tests-storybook.yaml
auto-backport.yaml
→pr-backport.yaml
claude-pr-review.yml
→pr-claude-review.yaml
version-bump.yaml
→release-version-bump.yaml
publish-frontend-types.yaml
→release-npm-types.yaml
create-dev-pypi-package.yaml
→release-pypi-dev.yaml
Test Workflow Improvements
ci-tests-*
patternci-tests-e2e-forks.yaml
,ci-tests-storybook-forks.yaml
Documentation
.github/workflows/README.md
Benefits
Test Plan
🤖 Generated with Claude Code
┆Issue is synchronized with this Notion page by Unito